#include <iostream>
using namespace std;

bool is_bst(int* sz, int len) {
	if (len==0 || len==1)
		return true;
	if (len == 2) {
		if (sz[0] > sz[1])
			return false;
		else 
			return true;
	}

	int root = sz[len-1];
	int loc  = 0;
	while (sz[loc]<root)
		loc++;

	bool left = is_bst(sz, loc);
	bool right = is_bst(sz+loc, len-loc-1);

	return left&&right;
}

//int main() {
//	int sz1[] = {5,7,6,9,11,10,8};
//	int sz2[] = {7,4,6,5};
//
//	bool r1 = is_bst(sz1, 7);
//	bool r2 = is_bst(sz2, 4);
//	return 0;
//}